package org.aurora.core.biz.authority;

import org.aurora.core.common.type.RequestAuthorityLevel;
import org.aurora.model.type.EntityType;
import org.aurora.core.common.type.RequestParamType;

import java.lang.annotation.*;

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Authority {
    EntityType entityType();

    String field();

    RequestParamType paramType() default RequestParamType.REQUEST_PARAM;

    RequestAuthorityLevel level() default RequestAuthorityLevel.READ;
}
